package com.ruoyi.system.domain;

import java.math.BigDecimal;
import java.util.Date;

import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Desensitization;
import com.ruoyi.common.enums.DesensitizationTypeEnum;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

import javax.validation.constraints.NotBlank;


/**
 * charge对象 commounity_charge
 *
 * @author wanglong
 * @date 2024-03-24
 */

@Data
@ToString
@EqualsAndHashCode
public class CommunityCharge extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 收费编号 */
    private Long chargeId;

    /** 收费类型(字典) */
    @Excel(name = "收费类型(字典)")
    private Long chargeType;

    /** 缴费人 */
    @Excel(name = "缴费人")
    @NotBlank(message = "缴费人不能为空")
    private String payer;

    /** 缴费人联系电话 */
    @Excel(name = "缴费人联系电话")
    @Desensitization(type = DesensitizationTypeEnum.MOBILE_PHONE)
    private String payerMobile;

    /** 收费金额 */
    @Excel(name = "收费金额")
    private BigDecimal chargeAmount;

    /** 收费日期 */
    @TableField(exist = false)
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "收费日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date chargeDate;

    /** 缴费日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "缴费日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date payerDate;

    /** 删除标记，0未删除，1已删除 */
    private String delFlag;

    private Integer dictId;

    /** 更新时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date updateTime;


}
